home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / windows 95 utilities / programming tools / freeman installer / awndobj.h_ / awndobj
Text File  |  1995-09-17  |  7KB  |  314 lines

  1. #define __AWNDOBJ_H
  2.  
  3. #ifndef __STDARG_H
  4. #include "stdarg.h"
  5. #endif
  6.  
  7.  
  8. class abswndobj
  9. {
  10.    public:
  11.  
  12.    virtual HWND getwnd() = 0;
  13.  
  14.    int destroy()
  15.    {
  16.       return DestroyWindow(getwnd());
  17.    }
  18.    int gettxtlen()
  19.    {
  20.       return GetWindowTextLength(getwnd());
  21.    }
  22.    int begtimer(int id, int timeout)
  23.    {
  24.       return SetTimer(getwnd(), id, timeout, 0);
  25.    } 
  26.    int endtimer(int id)
  27.    {
  28.       return KillTimer(getwnd(), id);
  29.    }
  30.    int totop()
  31.    {
  32.       return BringWindowToTop(getwnd());
  33.    }
  34.    int chknull()
  35.    {
  36.       return getwnd() == 0;
  37.    }
  38.    int chkpopup()
  39.    {
  40.       return (getstyle() & WS_POPUP) != 0L;
  41.    }
  42.    int chkvisible()
  43.    {
  44.       return IsWindowVisible(getwnd());
  45.    }
  46.    int getclass(char s[], int sz = 40)
  47.    {
  48.       return GetClassName(getwnd(), s, sz);
  49.    }
  50.    int getclaimedw()
  51.    {
  52.       return LOWORD(getclaimedwh());
  53.    }
  54.    int getclaimedh()
  55.    {
  56.       return HIWORD(getclaimedwh());
  57.    }
  58.    int chkbtn()
  59.    {
  60.       return chkclass("BUTTON");
  61.    }
  62.    int chkedit()
  63.    {
  64.       return chkclass("EDIT");
  65.    }
  66.    int chkcomb()
  67.    {
  68.       return chkclass("COMBOBOX");
  69.    }
  70.    void gettxt(char s[], int sz = 255)
  71.    {
  72.       GetWindowText(getwnd(), s, sz);
  73.    }
  74.    void clrtxt()
  75.    {
  76.       settxt("");
  77.    }
  78.    void settxt(char s[])
  79.    {
  80.       SetWindowText(getwnd(), s);
  81.    }
  82.    void setint(int i)
  83.    {
  84.       settxtfmt("%d", i);
  85.    }
  86.    void setlng(LONG l)
  87.    {
  88.       settxtfmt("%ld", l);
  89.    }
  90.    void setdbl(double d)
  91.    {
  92.       settxtfmt("%lg", d);
  93.    }
  94.    void setuint(UINT i)
  95.    {
  96.       settxtfmt("%u", i);
  97.    }
  98.    void show(int cmd)
  99.    {    
  100.       ShowWindow(getwnd(), cmd);
  101.    }
  102.    void setactive()
  103.    {
  104.       SetActiveWindow(getwnd());
  105.    }
  106.    void update()
  107.    {
  108.       UpdateWindow(getwnd());
  109.    }
  110.    void begpaint(PAINTSTRUCT *ps)
  111.    {
  112.       BeginPaint(getwnd(), (PAINTSTRUCT FAR*)ps);
  113.    }
  114.    void endpaint(PAINTSTRUCT *ps)
  115.    {
  116.       EndPaint(getwnd(), ps);
  117.    }
  118.    void setfont(HFONT f, int isredraw)
  119.    {
  120.       SendMessage(getwnd(), WM_SETFONT, (WPARAM)f, (LPARAM)MAKELONG(isredraw, 0));
  121.    }
  122.    void scr2clt(POINT *p)
  123.    {
  124.       ScreenToClient(getwnd(), p);
  125.    }
  126.    void clt2scr(POINT *p)
  127.    {
  128.       ClientToScreen(getwnd(), p);
  129.    }
  130.    void getclientrect(RECT *clt)
  131.    {
  132.       GetClientRect(getwnd(), clt);
  133.    }
  134.    void getrect(RECT *r)
  135.    {
  136.       GetWindowRect(getwnd(), r);
  137.    }
  138.    void redraw(int iserase = 1)
  139.    {
  140.       invalidate(iserase);
  141.  
  142.       update();
  143.    }
  144.    void invalidate(int iserase = 1)
  145.    {
  146.       InvalidateRect(getwnd(), NULL, iserase);
  147.    }
  148.    void invalidate(RECT &r, int iserase = 1)
  149.    {
  150.       InvalidateRect(getwnd(), &r, iserase);
  151.    }
  152.    void validate()
  153.    {
  154.       ValidateRect(getwnd(), 0);
  155.    }
  156.    void validate(RECT &r)
  157.    {
  158.       ValidateRect(getwnd(), &r);
  159.    }
  160.    void enable(int isenable = 1)
  161.    {
  162.       EnableWindow(getwnd(), isenable);
  163.    }
  164.    void move(int l, int t, int w, int h, int isrepaint = 0)
  165.    {
  166.       MoveWindow(getwnd(), l, t, w, h, isrepaint);
  167.    }
  168.    void setredraw(int isredraw = 0)
  169.    {
  170.       sendmsg(WM_SETREDRAW, isredraw, 0L);
  171.    }
  172.    void setpos(HWND insertafter, int x, int y, int w, int h, UINT flags)
  173.    {
  174.       SetWindowPos(getwnd(), insertafter, x, y, w, h, flags);
  175.    }
  176.    void endcapture()
  177.    {
  178.       ReleaseCapture();
  179.    }
  180.    void notifydad(int code)
  181.    {
  182.       senddadmsg(WM_COMMAND, MAKELONG(getid(), code), LPARAM(getwnd()));
  183.    }
  184.    void setscrollpos(int bar, int pos, int isredraw = 1)
  185.    {
  186.       SetScrollPos(getwnd(), bar, pos, isredraw);
  187.    }
  188.    void setscrollrange(int bar, int min, int max, int isredraw = 1)
  189.    {
  190.       SetScrollRange(getwnd(), bar, min, max, isredraw);
  191.    }
  192.    void scroll(int dx, int dy, RECT *scrollr = 0, RECT *clipr = 0)
  193.    {
  194.       ScrollWindow(getwnd(), dx, dy, scrollr, clipr);
  195.    }
  196.    void showownedpopups(int isshow)
  197.    {
  198.       ShowOwnedPopups(getwnd(), isshow);
  199.    }
  200.    operator HWND ()
  201.    {
  202.       return getwnd();
  203.    }
  204.    HWND setfocus()
  205.    {
  206.       return SetFocus(getwnd());
  207.    }
  208.    HWND begcapture()
  209.    {
  210.       return SetCapture(getwnd());
  211.    }
  212.    HWND getdad()
  213.    {
  214.       return GetParent(getwnd());
  215.    }
  216.    HWND setdad(HWND dad)
  217.    {
  218.       return SetParent(getwnd(), dad);
  219.    }
  220.    HWND getkid(int id)
  221.    {
  222.       return GetDlgItem(getwnd(), id);
  223.    }
  224.    HWND getotherwnd(UINT rel)
  225.    {
  226.       return GetWindow(getwnd(), rel);
  227.    }
  228.    WORD getword(int off)
  229.    {
  230.       return GetWindowWord(getwnd(), off);
  231.    }
  232.    WORD getid()
  233.    {
  234.       return getlong(GWL_ID);
  235.    }
  236.    LONG getlong(int off)
  237.    {
  238.       return GetWindowLong(getwnd(), off);
  239.    }
  240.    LONG setlong(int off, LONG l)
  241.    {
  242.       return SetWindowLong(getwnd(), off, l);
  243.    }
  244.    LONG getstyle()
  245.    {
  246.       return getlong(GWL_STYLE);
  247.    }
  248.    LONG setstyle(LONG style)
  249.    {
  250.       return setlong(GWL_STYLE, style);
  251.    }
  252.    HICON seticon(HICON icon)
  253.    {
  254.       return (HICON)sendmsg(STM_SETICON, (WPARAM)icon, 0L);
  255.    }
  256.    HFONT getfont()
  257.    {
  258.       return HFONT(SendMessage(getwnd(), WM_GETFONT, 0, 0L));
  259.    }
  260.    LRESULT sendmsg(UINT msg, WPARAM wp, LPARAM lp)
  261.    {
  262.       return SendMessage(getwnd(), msg, wp, lp);
  263.    }
  264.    LRESULT postmsg(UINT msg, WPARAM wp, LPARAM lp)
  265.    {
  266.       return PostMessage(getwnd(), msg, wp, lp);
  267.    }
  268.    LRESULT senddadmsg(UINT msg, WPARAM wp, LPARAM lp)
  269.    {
  270.       return SendMessage(getdad(), msg, wp, lp);
  271.    }
  272.    LRESULT postdadmsg(UINT msg, WPARAM wp, LPARAM lp)
  273.    {
  274.       return PostMessage(getdad(), msg, wp, lp);
  275.    }
  276.    LRESULT defwndproc(UINT msg, WPARAM wp, LPARAM lp)
  277.    {
  278.       return DefWindowProc(getwnd(), msg, wp, lp);
  279.    }
  280.    LRESULT defdlgproc(UINT msg, WPARAM wp, LPARAM lp)
  281.    {
  282.       return DefDlgProc(getwnd(), msg, wp, lp);
  283.    }
  284.    HINSTANCE getinst()
  285.    {
  286.       return (HINSTANCE)getlong(GWL_HINSTANCE);
  287.    }
  288.  
  289.    int getint(int *i);
  290.    int getlng(LONG *l);
  291.    int getuint(UINT *i);
  292.    int scanf(char fmt[], ...);
  293.    int chkclass(char cls[]);
  294.    void w4look();
  295.    void settxtfmt(char fmt[], ...);
  296.    void settxtvar(va_list args, char fmt[]);
  297.    void setzorder(HWND insafter, UINT flags);
  298.    void movecenter(HWND bkwnd = 0);
  299.    void movecenter(int x, int y);
  300.    void resizekeepc(int w, int h, int isredraw);
  301.    void getrectindad(RECT *dr);
  302.    void errormsg(char msg[], ...);
  303.    void errorvar(va_list args, char msg[]);
  304.    void outofmem();
  305.    void badctrldata(int id, char msg[], ...);
  306.    void transferkids(int toframe, int n, int frframe, int isshow, int tolast = 0, int frthis = 1);
  307.    HWND getsibwnd(int i);
  308.    DWORD getclaimedwh();
  309.  
  310.    static int peekdiscardmsg(int ismore = 0);
  311.  
  312.    static int peekdispatchmsg(int ismore = 0);
  313. };
  314.